The present invention relates to tests of a data processing system having a multi-processor structure and, more particularly, to tests of a fault handling function in the circumstances where operation requests to a unit shared by a plurality of processors are thronging.
The data processing system is equipped with hardware and software for a variety of fault handling functions (to report the occurrence of a fault, collect fault information, retry, disconnect a faulty section, and so on) so as to enhance its reliability. In testing the data processing system, those fault handling function also have to be tested by generating pseudo-faults.
A primitive pseudo-fault generating method is to clamp the potential of a signal pin on a back panel manually at a certain value. According to this method, however, the manual operation is not only troublesome but also liable to cause errors such as selecting a wrong pin. In addition, it is difficult to precisely control the position in a program in which the pseudo-fault is generated. In a system disclosed as one improvement in Japanese Patent Laid-Open No. 60-193052, a special instruction inserted in a suitable position in a program for testing operations sets a designated value in a counter, and this value is subsequently counted up upon execution of each instruction. When this counter eventually overflows, a pseudo-fault is generated. According to this method, the pseudo-fault can be automatically generated in a desired position in the program. However, those methods of the prior art are lacking in special means for testing the multi-processor system.
The multi-processor system generally includes a variety of units that are shared by a plurality of instruction processors. For example, a storage control unit receives main storage access requests from the plural instruction processors and sequentially executes them. The faults of these shared units involve special problems. For example, when a fault occurs while the operation requests from the plural instruction processors are thronging, not only the operation requests being serviced at that time are affected but also the queue of the succeeding operation requests may be broken.
In order to sufficiently test the fault handling function for such a shared unit, therefore, it is necessary to intentionally create a situation in which the operation requests to the shared unit are thronging, and to generate a pseudo-fault within the shared unit just in that situation. However, such a testing method has not yet been established.